/*
 * @Author: your name
 * @Date: 2021-12-29 13:50:13
 * @LastEditTime: 2023-01-05 15:07:06
 * @LastEditors: 飞越疯人院 353362604@qq.com
 * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 * @FilePath: \reconfiguration-administration\src\Map.js
 */

// mars3D 配置文件 && 地图数据参数
export const map3dConfig = {
    scene: {
        center: {
            lat: 32.633804,
            lng: 107.046206,
            alt: 7663154,
            heading: 345,
            pitch: -90,
        },
        // ! globe地球相关参数
        globe: {
            // *** 是否显示地球
            show: true,
            // *** 地球背景色 ，css颜色值
            baseColor: '#262626',
            // *** 是否启用深度监测,可以开启来测试矢量对象是否在地形下面或被遮挡。
            depthTestAgainstTerrain: true,
            // *** 是否在地球上绘制的地面大气
            showGroundAtmosphere: true,
            // *** 是否显示昼夜区域
            enableLighting: false,
            // *** 地形图块缓存的大小，表示为图块数。任何其他只要不需要渲染，就会释放超出此数目的图块这个框架。较大的数字将消耗更多的内存，但显示细节更快例如，当缩小然后再放大时
            tileCacheSize: 100,
            // *** 地形夸张倍率，用于放大地形的标量。请注意，地形夸张不会修改其他相对于椭球的图元。
            terrainExaggeration: 1,
            // *** 地形被夸大的高度。默认为0.0（相对于椭球表面缩放）。高于此高度的地形将向上缩放，低于此高度的地形将向下缩放。请注意，地形夸大不会修改任何其他图元，因为它们是相对于椭球体定位的。
            terrainExaggerationRelativeHeight: 0,
        },
        // !  开启渲染模式
        requestRenderMode: true,
        // ! 为 true 时，每个几何实例将仅以3D渲染以节省GPU内存。
        scene3DOnly: true,
        // ! 是否启用日照阴影
        shadows: false,
        // ! 是否移除Cesium默认的双击事件
        removeDblClick: true,
        // ! 初始场景模式。
        sceneMode: 3,
        // ! 是否显示太阳
        showSun: true,
        // ! 是否显示月亮
        showMoon: true,
        // ! 是否显示天空盒
        showSkyBox: true,
        // ! 是否显示地球大气层外光圈
        showSkyAtmosphere: true,
        // ! 是否启用雾化效果
        fog: true,
        // ! 是否开启快速抗锯齿
        fxaa: true,
        // ! 相机操作相关参数
        cameraController: {
            // *** 鼠标滚轮放大的步长参数
            zoomFactor: 3,
            // *** 为false时 解除在南北极区域鼠标操作限制
            constrainedAxis: true,
            // *** 变焦时相机位置的最小量级（以米为单位）。默认为1
            minimumZoomDistance: 1,
            // *** 变焦时相机位置的最大值（以米为单位）
            maximumZoomDistance: 50000000,
            // *** 2D和3D视图下，是否允许用户旋转相机
            enableRotate: true,
            // *** 2D和哥伦布视图下，是否允许用户平移地图
            enableTranslate: true,
            // *** 3D和哥伦布视图下，是否允许用户倾斜相机
            enableTilt: true,
            // *** 是否允许 用户放大和缩小视图
            enableZoom: true,
            // *** 是否允许 地形相机的碰撞检测以下是Cesium.Clock时钟相关参数
            enableCollisionDetection: true,
            // *** 低于此高度时绕鼠标键绕圈，大于时绕视图中心点绕圈。
            minimumCollisionTerrainHeight: 15000,
        },
    },
    // ! 控件参数
    control: {
        // ! 是否绑定默认的地图右键菜单 true
        defaultContextMenu: true,
        // ! 鼠标滚轮缩放美化样式 false
        mouseDownView: true,
        // ! 鼠标提示控件
        locationBar: {
            // *** 是否显示实时FPS帧率
            fps: false,
            // *** 显示内容的格式化html展示的内容格式化字符串。 支持以下模版配置：【鼠标所在位置】 经度:{lng}， 纬度:{lat}， 海拔：{alt}米， 【相机的】 方向角度：{heading}， 俯仰角度：{pitch}， 视高：{cameraHeight}米， 【地图的】 层级：{level}，
            // template: `
            // <div>经度:{lng}</div>
            // <div>纬度:{lat}</div>
            // <div>海拔：{alt}米</div>
            // <div>层级：{level}</div>
            // <div>方向：{heading}度</div>
            // <div>俯仰角：{pitch}度1</div>
            // <div>视高：{cameraHeight}米</div>
            // `,
        },
        // *** 导航球控件
        // compass: { top: "52px", right: "2px" },
        // *** 比例尺控件
        distanceLegend: { left: '100px', bottom: '0px' },
        // *** 是否显示 点击要素之后显示的信息
        infoBox: false,
        // *** 选择模型时，是否显示绿色框
        selectionIndicator: false,
        // *** 是否创建 左下角仪表动画面板
        animation: false,
        // *** 是否创建 下侧时间线控件面板
        timeline: false,
        // *** 是否显示 basemaps底图切换按钮
        baseLayerPicker: false,
        // *** 是否显示 全屏按钮
        fullscreenButton: false,
        // *** 是否显示 右下角vr虚拟现实按钮
        vrButton: false,
        // *** 是否显示 地名查找控件按钮
        geocoder: true,
        // *** 是否显示 视角复位按钮
        homeButton: false,
        // *** 是否显示 二三维视图切换按钮
        sceneModePicker: false,
        // *** 是否显示 用于在透视和正投影之间进行切换按钮
        projectionPicker: false,
        // *** 是否显示 帮助按钮
        navigationHelpButton: false,
        // *** 在用户明确单击按钮之前是否自动显示navigationHelpButton
        navigationInstructionsInitiallyVisible: false,
        // *** 如果为true，则在发生渲染循环错误时，此小部件将自动向包含错误的用户显示HTML面板。
        showRenderLoopErrors: false,
        // *** POI查询按钮参数配置
        geocoderConfig: { key: ['ae29a37307840c7ae4a785ac905927e0'] },
    },
    // ! 底图图层配置
    basemaps: [
        {
            id: 1,
            type: 'tdt',
            layer: 'img_d',
            name: '天地图影像(无标注)',
            popup: 'all',
            icon: 'img/basemaps/tdt_img.png',
        },
        {
            id: 2,
            type: 'group',
            layers: [
                { name: '底图', type: 'tdt', layer: 'img_d' },
                { name: '注记', type: 'tdt', layer: 'img_z' },
            ],
            name: '天地图影像(有标注)',
            popup: 'all',
            icon: '/img/basemaps/tdt_img.png',
        },
        {
            id: 3,
            name: '天地图电子',
            icon: 'http://mars3d.cn/example/img/basemaps/tdt_vec.png',
            type: 'group',
            layers: [
                { name: '底图', type: 'tdt', layer: 'vec_d' },
                { name: '注记', type: 'tdt', layer: 'vec_z' },
            ],
        },
        {
            id: 99,
            name: '高德影像',
            icon: 'http://mars3d.cn/example/img/basemaps/gaode_img.png',
            type: 'group',
            layers: [
                { name: '底图', type: 'gaode', layer: 'img_d' },
                { name: '注记', type: 'gaode', layer: 'img_z' },
            ],
        },
        {
            id: 90,
            name: '高德影像(无注记)',
            icon: 'http://mars3d.cn/example/img/basemaps/gaode_img.png',
            type: 'group',
            layers: [{ name: '底图', type: 'gaode', layer: 'img_d' }],
        },
        {
            id: 98,
            type: 'gaode',
            layer: 'vec',
            name: '高德电子',
            popup: 'all',
            icon: '/img/basemaps/gaode_vec.png',
        },
        {
            id: 4,
            chinaCRS: 'GCJ02',
            enablePickFeatures: false,
            icon: 'http://mars3d.cn/img/basemaps/bd-c-midnight.png',
            name: '蓝色底图',
            type: 'xyz',
            url: 'http://map.geoq.cn/arcgis/rest/services/ChinaOnlineStreetPurplishBlue/MapServer/tile/{z}/{y}/{x}',
        },
        {
            brightness: 0.6,
            contrast: 1.8,
            filterColor: '#4e70a6',
            gamma: 0.3,
            hue: 1,
            icon: 'http://mars3d.cn/img/basemaps/blackMarble.png',
            id: 5,
            invertColor: true,
            layer: 'vec',
            name: '暗色底图',
            saturation: 0,
            type: 'gaode',
        },
    ],
    // ! layers
    layers: [
        // {
        //     type: 'kml',
        //     url: '/串联合图.ovkml',
        //     symbol: {
        //         styleOptions: {
        //             color: '#ff0',
        //             width: 2,
        //             clampToGround: true,
        //         },
        //     },
        //     show: true,
        // },
        {
            id: 101,
            mapSplit: false,
            maximumLevel: 10,
            name: '行政区划界线',
            pid: 50,
            type: 'tdt',
            url: 'https://t{s}.tianditu.gov.cn/DataServer?T=ibo_w&x={x}&y={y}&l={z}',
        },
        {
            id: 103,
            name: '经纬网',
            pid: 50,
            type: 'graticule',
        },
    ],
    // chinaCRS: 'ChinaCRS.BAIDU',
    templateValues: {
        dataServer: '//data.mars3d.cn',
        gltfServerUrl: '//data.mars3d.cn/gltf',
    },
    terrain: { url: '//data.mars3d.cn/terrain', show: true },
}
